package com.service.user;

import com.entity.Comment;

import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * 评论相关的接口
 *
 * 
 */
public interface CommentService {

  /**
   * 获取一个商品的所有评论数目
   *
   * @param goodId 商品编号
   * @return 商品的所有评论数目
   */
  int getGoodCommentCount(String goodId);

  /**
   * 获取对应商品的评论信息
   *
   * @param goodId 商品编号
   * @return 评论列表
   */
  List<Comment> getGoodComments(String goodId);

  /**
   * 发表评论
   *
   * @param userId 用户编号
   * @param goodId 商品编号
   * @param replyCommentId 回复评论的编号
   * @param content 内容
   * @return 新添加评论的编号
   */
  String addAComment(String userId, String goodId, String replyCommentId, String content);

  /**
   * 删除1条评论
   *
   * @param userId 用户编号
   * @param commentId 评论编号
   * @return 删除成功返回1，否则返回0(不是自己的评论就会失败)
   */
  int delAComment(String userId, String commentId);

  /**
   * 举报评论
   *
   * @param userId 用户编号
   * @param commentId 评论编号
   * @param type 举报类型
   * @param reason 举报原因
   * @return 成功返回1，失败返回0
   */
  int reportComment(
      @RequestParam("userId") String userId,
      @RequestParam("commentId") String commentId,
      @RequestParam("type") String type,
      @RequestParam("reason") String reason);
}
